package com.yeyks.other.dal.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 券表
 * </p>
 *
 * @author yun
 * @since 2019-06-25
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="CouponInfo对象", description="券表")
public class CouponInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("gmt_create")
    private Date gmtCreate;

    @TableField("gmt_modified")
    private Date gmtModified;

    @ApiModelProperty(value = "券名称")
    @TableField("title")
    private String title;

    @ApiModelProperty(value = "券的开始时间")
    @TableField("valid_start")
    private Date validStart;

    @ApiModelProperty(value = "券的结束时间")
    @TableField("valid_end")
    private Date validEnd;

    @ApiModelProperty(value = "适用的酒店")
    @TableField("valid_hotels")
    private String validHotels;

    @ApiModelProperty(value = "适用的房型")
    @TableField("valid_rooms")
    private String validRooms;

    @ApiModelProperty(value = "优惠的价格")
    @TableField("price")
    private Integer price;

    @ApiModelProperty(value = "使用条件")
    @TableField("valid_fee")
    private Integer validFee;

    @ApiModelProperty(value = "发行量")
    @TableField("count")
    private Integer count;

    @ApiModelProperty(value = "领取个数")
    @TableField("get_count")
    private Integer getCount;

    @ApiModelProperty(value = "剩余个数")
    @TableField("remain_count")
    private Integer remainCount;

    @ApiModelProperty(value = "用户领取券的持续时间")
    @TableField("duration")
    private Integer duration;

    @ApiModelProperty(value = "每用户最多领取个数")
    @TableField("count_per_user")
    private Integer countPerUser;

    @ApiModelProperty(value = "得到券需要支付的金额，单位分")
    @TableField("pay_amount")
    private Integer payAmount;

    @ApiModelProperty(value = "1优惠券，2代金券，3充值优惠券，4分享有礼券，5免单券，6鱼宝兑换券，7 推广优惠券(算法生成面值)，8 大礼包券，9周杰伦活动券，10双旦券")
    @TableField("type")
    private Integer type;

    @ApiModelProperty(value = "1初始化，2发行中，3已结束")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "操作人ID")
    @TableField("operator_id")
    private Integer operatorId;


    public static final String ID = "id";

    public static final String GMT_CREATE = "gmt_create";

    public static final String GMT_MODIFIED = "gmt_modified";

    public static final String TITLE = "title";

    public static final String VALID_START = "valid_start";

    public static final String VALID_END = "valid_end";

    public static final String VALID_HOTELS = "valid_hotels";

    public static final String VALID_ROOMS = "valid_rooms";

    public static final String PRICE = "price";

    public static final String VALID_FEE = "valid_fee";

    public static final String COUNT = "count";

    public static final String GET_COUNT = "get_count";

    public static final String REMAIN_COUNT = "remain_count";

    public static final String DURATION = "duration";

    public static final String COUNT_PER_USER = "count_per_user";

    public static final String PAY_AMOUNT = "pay_amount";

    public static final String TYPE = "type";

    public static final String STATUS = "status";

    public static final String OPERATOR_ID = "operator_id";

}
